Holiday Oil · Loyalty & Rewards

Club Holiday

Every fill-up. Every snack run. Rewarded.

The official loyalty app for Holiday Oil's convenience-store chain. Members enroll in Club Holiday, earn points on everyday purchases, scan a barcode straight from the home screen at checkout, redeem points for mobile coupons, find the nearest store with live fuel prices — and even activate a car wash without leaving the driver's seat.

Loyalty enrollmentPoints & barcodeCoupon redemptionStore locatorFuel pricesCar wash activation
CLUB HOLIDAYRewards
400points
= $1.00 toward anything in the store
6 5 1 1 6 3 2 0 6 3 5 0
Save 2¢ per gallon · $2 off any car wash
60+Utah locations served
2¢/galMember fuel discount
1C# codebase · iOS + Android
$1–$5Point-funded coupons
Chapter 02

The Brief

Turn a punch-card loyalty program into a pocket companion that customers reach for every single day.

Holiday Oil runs one of Utah's best-known convenience-store chains — over 60 neighborhood stores where regulars stop daily for fuel, coffee, slushes and snacks. Their loyalty program lived on physical cards and in-store signage. They wanted it in their customers' pockets: enrollment, points, rewards, coupons, store finding and car-wash activation, all in one friendly app that matched the brand's playful personality (clown mascot included).

The experience had to work at gas-station speed. A member standing at the register — or sitting at the pump — needed their scannable barcode and point balance on screen within seconds of launch, with weekly specials and the member fuel discount front and center.

Onboarding got the same treatment as the brand itself: a lighthearted photo tour (starring some very good dogs) walks new members through what Holiday Rewards does before a single form field appears.

My Role

Sole Mobile Developer

End-to-end delivery of the mobile app: architecture, UI, loyalty and barcode features, REST integration, mapping and store services — shipped to both app stores from a single Xamarin.Forms codebase.

ArchitectureUI / UX buildREST integrationMaps & GPSBarcode engineStore delivery
Mile 01

Enroll

A playful guided tour, then a fast sign-up that issues a digital Club Holiday card.

Mile 02

Earn

Points on every purchase — balance and dollar value always one tap away.

Mile 03

Redeem

Scan the barcode at checkout; trade points for $1–$5 mobile coupons and club rewards.

Mile 04

Wash & Go

Activate a car wash directly from the vehicle — $2 off for members.

Chapter 03

The Loyalty Engine

Three reward systems, one wallet: a scannable points barcode, point-funded coupons, and punch-card style clubs — all synced live over REST.

🎫

Scan-to-Earn Barcode

The member's loyalty ID renders on-device as a register-ready barcode. Cashiers scan it straight off the home screen — points post to the account in real time.

Admit one · every visit counts
💵

Points → Coupons

A live points ledger converts effort into value: 400 points buys a $1 mobile coupon, scaling to $5. Balances, costs and redemptions all flow through the rewards API.

400 pts = $1 · 2,000 pts = $5

Clubs & Punch Cards

Digital punch cards for the chain's cult favorites — the Tornado Club, Coffee Club and Slush Club. Stars fill as members buy; a full card earns a freebie.

Buy ten · the next one's on Holiday
🌪️ Tornado Club
★★★★★★★★★★
8 of 10 — two roller-grill tornados to go
☕ Coffee Club
★★★★★★★★★
9 of 10 — next cup's nearly free
🥤 Slush Club
★★★★★★★★★★
7 of 10 — keep sipping
Chapter 04

The Screens

A drive through the app — from the barcode-first home screen to store maps, coupons, clubs and support.

Club Holiday home screen with points balance and scannable barcode
HomePoints, barcode & weekly special
Onboarding tour screens introducing Holiday Rewards
Guided TourPlayful enrollment onboarding
Branded navigation drawer with Holiday clown mascot
NavigationBranded drawer & mascot
Clubs page with star punch cards for Tornado, Coffee and Slush clubs
ClubsStar punch-card progress
Coupons page trading points for mobile coupons
CouponsPoints-to-value redemption
Specials page with member barcode and weekly deals
SpecialsSearchable weekly deals
Store locations map with closest store and live fuel prices
Store MapClosest location & fuel prices
List of Holiday Oil store locations
Store ListEvery location, at a glance
Edit profile page with loyalty card number and member details
ProfileCard & account management
Contact us support center page
SupportSearchable help & contact

Tap any screen to zoom

Chapter 05

Fuel Finder

CLOSEST LOCATION
Unleaded2.69
Plus2.84
Premium2.99
Diesel2.87

The forecourt price sign, in your pocket

The store locator pairs device GPS with the chain's store service to surface the closest Holiday Oil location — with today's fuel prices for every grade, one-tap directions, click-to-call, and store details. A map/list toggle covers both "where's the nearest one?" and "is there one near my office?"

  • Geolocation-ranked results with distance to every store
  • Live Unleaded / Plus / Premium / Diesel pricing per location
  • One-tap GO directions and click-to-call from the map card
  • Full alphabetical store directory across 60+ Utah locations
Chapter 06

Under the Hood

One C# codebase delivering native iOS and Android experiences — MVVM-structured, service-driven, and built for register-speed startup.

Xamarin.FormsC# / .NETMVVMRESTful ServicesXamarin.EssentialsMaps & GeolocationOn-device Barcode RenderingiOS & Android

Framework lineage: Club Holiday was built on Xamarin.Forms — the framework .NET MAUI directly evolved from. The same MVVM architecture, XAML UI patterns and service abstractions used here are the foundation of my current .NET MAUI work, where these skills transfer one-for-one.

×Expanded screenshot